/**
**Filename: mrj_supt.h
**Authors: Maxwell Kobe, Jerry Causby, Ryan Gross
**Version: 1.1
**Last Modified: 12/8/2011
**/

//Logic Constants
#define TRUE  1
#define FALSE 0

//Command Constants

#define VERSION 1.1f
#define BUF_LEN 80

//PCB Constants
#define PCB_CLASS_SYSTEM        0
#define PCB_CLASS_APP           1
#define PCB_STACK_SIZE   2048

#define PCB_STATE_RUN           0
#define PCB_STATE_RDY           1
#define PCB_STATE_BLK           2

#define PCB_FLAG_FREE           0
#define PCB_FLAG_SUSP           1

//Structures

typedef struct pcb_T{
        char name[80];
        int Pclass; //process class (system or application process)
        int priority;
        int state;
        int susp;
        int memSize;
        unsigned char* stackT;
        unsigned char* stackB;
        unsigned char* locAddr;
        unsigned char* excAddr;
        struct pcb_T* next;
        struct pcb_T* prev;
}pcb
;
pcb* setPCB(char* name, int priority, int Pclass); //Set up PCB Function Proto

pcb* allocPCB(); //Allocate Memory for PCB Function Proto

